export default {
  common: {
    weekdays: {
      sunday: 'Sun',
      monday: 'Mon',
      tuesday: 'Tue',
      wednesday: 'Wed',
      thursday: 'Thu',
      friday: 'Fri',
      saturday: 'Sat'
    },
    today: 'Today',
    tomorrow: 'Tomorrow',
    dayAfterTomorrow: 'Day After Tomorrow',
    tips: 'Tips',
    confirm: 'Confirm',
    cancel: 'Cancel'
  },
  home: {
    weather: {
      noWeather: 'No weather info',
      degree: '°',
      wind: 'Wind'
    },
    location: {
      all: 'All Attractions'
    },
    notice: {
      viewMore: 'View More'
    },
    section: {
      island: 'Island Tour',
      travelGuide: 'Travel Guide',
      hotActivities: 'Hot Activities',
      viewMore: 'View More',
      allAttractions:'All Attractions'
    },
    zone: {
      eating: 'Island Dining',
      selected: 'Selected',
      living: 'Island Stay',
      affordable: 'Affordable',
      playing: 'Island Fun',
      popular: 'Popular'
    },
    help: {
      oneKeyHelp: 'One-key Help',
      selectArea: 'Please select an area first',
      noHelpline: 'No helpline for this area',
      callFailed: 'Call failed'
    }
  },
  my: {
    user: {
      settings: 'Settings'
    },
    assets: {
      coupons: 'Coupons',
      points: 'Points',
      cards: 'Cards'
    },
    beans: {
      title: 'Points',
      sign: 'Sign for Points',
      receipt: 'Receipt to Points',
      mall: 'Points Mall'
    },
    orders: {
      title: 'My Orders',
      viewAll: 'View All',
      pending: 'Pending Payment',
      unused: 'Unused',
      undelivered: 'Undelivered',
      refund: 'Refund'
    },
    quickEntry: {
      title: 'Quick Entry'
    },
    help: {
      oneKeyHelp: 'One-key Help'
    },
    language: {
      title: 'Language Settings',
      current: 'Current Language',
      chinese: 'Chinese',
      english: 'English'
    }
  },
  userInfo: {
    edit: {
      title: 'Edit Profile',
      avatar: 'Avatar',
      uploadNote: 'Upload photos that comply with national laws and regulations, within 300KB',
      username: 'Username',
      usernamePlaceholder: 'Please enter username',
      gender: 'Gender',
      birthday: 'Birthday',
      save: 'Save',
      genderOptions: {
        secret: 'Private',
        male: 'Male',
        female: 'Female'
      },
      preview: {
        send: 'Send to Friend',
        saveImage: 'Save Image',
        favorite: 'Favorite'
      }
    }
  },
  merchants: {
    all: 'All',
    loadMore: 'Pull up to load more',
    loading: 'Loading...',
    noMore: 'No more products',
    loadFailed: 'Failed to load data',
    filterFailed: 'Failed to load filter data'
  },
  detail: {
    collect: 'Collect',
    collected: 'Collected',
    share: 'Share',
    navigation: 'Navigate',
    phone: 'Call',
    address: 'None',
    businessHours: 'Business Hours',
    products: 'Products',
    intro: 'Introduction',
    packages: 'Packages',
    reviews: 'Reviews',
    noReviews: 'No reviews yet',
    collectionSuccess: 'Collection successful',
    cancelCollection: 'Collection cancelled',
    operationFailed: 'Operation failed, please try again',
    distance: 'Distance'
  },
  goods: {
    buyNow: 'Buy Now',
    pointsExchange: 'Points Exchange',
    activitySignUp: 'Sign Up',
    processing: 'Processing...',
    noLocation: 'No location information',
    viewMore: 'View More',
    loadFailed: 'Failed to load data',
    productIntro: 'Product Details',
    activityIntro: 'Activity Details',
    reviews: 'Reviews',
    noReviews: 'No reviews yet',
    signedCount: '{count} people registered',
    placeHolder: 'Please enter remarks',
    addToCart: 'Add to Cart',
    adding: 'Adding...'
  },
  order: {
    createOrder: 'Create Order',
    orderInfo: 'Order Information',
    checkIn: 'Check-in Today',
    checkOut: 'Check-out Tomorrow',
    nights: '{count} Night(s)',
    pastDateError: 'Cannot select past dates',
    sameDateError: 'Check-in and check-out dates cannot be the same',
    useDate: 'Date of Use',
    selectTime: 'Select Time Slot',
    timeSlotTip: 'Only time slots with more than 1 hour remaining can be selected',
    noTimeSlot: 'No available time slots',
    noTimeSlotToday: 'No more available time slots today',
    roomCount: 'Number of Rooms',
    ticketCount: 'Number of Tickets',
    activityQuota: 'Activity Quota',
    productCount: 'Product Quantity',
    specSelect: 'Specification Selection',
    remarks: 'Remarks',
    shippingAddress: 'Shipping Address',
    selectAddress: 'Please select a shipping address',
    guestInfo: {
      title: 'Contact Information',
      checkInPerson: 'Guest Information',
      tourist: 'Visitor Information',
      participant: 'Participant Information',
      add: 'Add Contact',
      addCheckInPerson: 'Add Guest',
      addTourist: 'Add Visitor',
      addParticipant: 'Add Participant',
      contactPerson: 'Contact',
      addTip: 'Please add contact information',
      addCheckInTip: 'Please add guest information',
      addTouristTip: 'Please add visitor information',
      addParticipantTip: 'Please add participant information',
      atLeastOne: 'Please add at least one',
      roomCountMismatch: 'You booked {count} rooms, need at least {count} guests',
      quotaMismatch: 'You booked {count} spots, need at least {count} participants'
    },
    coupon: {
      title: 'Coupons',
      selected: '{count} selected, saved ¥{amount}',
      available: 'Coupons available',
      unavailable: 'No coupons available',
      select: 'Select Coupons'
    },
    bookingNotice: 'Booking Notice',
    orderAmount: 'Order Amount',
    orderPoints: 'Order Points',
    submitOrder: 'Submit Order',
    submitting: 'Order is being submitted, please wait',
    incompleteOrder: 'Incomplete order information',
    submitFailed: 'Failed to submit order'
  },
  package: {
    title: 'Package Booking',
    items: 'Package Items',
    ticketType: 'Ticket',
    hotelType: 'Hotel',
    productType: 'Product',
    quantity: 'Quantity: {count}',
    loadFailed: 'Failed to load package information'
  },
  coupons: {
    title: 'Select Coupons',
    merchant: 'Merchant Coupons',
    platform: 'Platform Coupons',
    merchantTag: 'Merchant',
    platformTag: 'Platform',
    condition: 'Min. spend ¥{amount}, excludes some promotional items',
    validity: 'Valid: {start} - {end}',
    insufficientAmount: 'Conditions not met',
    empty: 'No coupons available',
    selected: '{count} coupon(s) selected',
    confirm: 'Confirm',
    selectSuccess: '{count} coupon(s) selected, saved ¥{amount}',
    loadFailed: 'Failed to load coupons'
  },
  productDetail: {
    tabs: {
      introduction: 'Introduction',
      purchaseNotice: 'Purchase Notice',
      usageGuide: 'Usage Guide',
      feeDescription: 'Fee Description',
      otherNotice: 'Other Notice',
      userReviews: 'User Reviews',
      packageDetails: 'Package Details',
      noticeGuarantee: 'Notice & Guarantee',
      productFeature: 'Product Features',
      details: 'Details',
      pictureDetails: 'Picture Details',
      validity: 'Validity',
      usageMethod: 'Usage Method',
      refundPolicy: 'Refund Policy',
      notice: 'Notice',
      facilities: 'Facilities',
      bookingNotice: 'Booking Notice',
      feeNotice: 'Fee Notice'
    },
    active: {
      introduction: 'Introduction',
      features: 'Features',
      readCarefully: 'Please read the following purchase notice carefully before placing an order',
      validity: 'Validity',
      usedTime: 'Usage Time',
      refundRules: 'Refund Rules',
      usageDesc: 'Usage Description',
      safetyRules: 'Safety Rules',
      safetyTips: 'For your safety, please read the following precautions:',
      step: 'Step',
      project: 'Project',
      fee: 'Fee',
      description: 'Description',
      feeNotice: 'Note: Lockers, fast passes and souvenir photos are optional and require additional fees',
      faq: 'FAQ',
      transportation: 'Transportation',
      contact: 'Contact'
    },
    foods: {
      packageContent: 'Package Content',
      guaranteeService: 'Guarantee Service'
    },
    party: {
      productFeatures: 'Product Features',
      feeIncluded: 'Fee Included',
      feeExcluded: 'Fee Excluded',
      refundPolicy: 'Refund Policy',
      reformPolicy: 'Rescheduling Policy',
      specialCase: 'Special Cases',
      importantTips: 'Important Tips',
      safetyNotice: 'Safety Notice',
      equipmentSuggestion: 'Equipment Suggestion',
      otherDescription: 'Other Description'
    },
    photo: {
      included: 'Included:',
      excluded: 'Excluded:'
    },
    room: {
      giftItems: 'Gift Items:'
    }
  },
  payment: {
    title: 'Payment',
    orderInfo: 'Order Information',
    orderNo: 'Order Number',
    productName: 'Product Name',
    specInfo: 'Specification',
    orderTime: 'Order Time',
    originalAmount: 'Original Amount',
    paymentAmount: 'Payment Amount',
    paymentMethod: 'Payment Method',
    wechatPay: 'WeChat Pay',
    pay: 'Pay Now',
    processing: 'Processing payment...',
    invalidParams: 'Invalid payment parameters',
    parseError: 'Failed to parse payment parameters',
    noParams: 'Unable to get payment parameters',
    cancelled: 'Payment cancelled'
  },
  success: {
    loading: 'Loading...',
    viewOrder: 'View Order',
    backToHome: 'Back to Home',
    noOrderId: 'No valid order ID found',
    types: {
      default: {
        title: 'Payment Successful',
        message1: 'Your order has been confirmed, we are preparing your products.',
        message2: 'Thank you for your trust, we hope you enjoy your shopping experience.'
      },
      hotel: {
        title: 'Booking Successful',
        message1: 'Your hotel booking has been confirmed, your room will be reserved.',
        message2: 'We look forward to providing you with a comfortable stay.'
      },
      ticket: {
        title: 'Ticket Purchase Successful',
        message1: 'Your ticket has been successfully booked, please visit the attraction at the scheduled time.',
        message2: 'Have a pleasant journey and create wonderful memories.'
      },
      activity: {
        title: 'Registration Successful',
        message1: 'You have successfully registered for the activity, please attend according to the schedule.',
        message2: 'We look forward to meeting you at the activity and creating wonderful moments together.'
      },
      package: {
        title: 'Booking Successful',
        message1: 'Your package booking has been confirmed, we have arranged all services for you.',
        message2: 'Thank you for choosing us, we look forward to providing you with quality service.'
      },
      exchange: {
        title: 'Exchange Successful',
        message1: 'Your points exchange has been completed, we are preparing your products.',
        message2: 'Thank you for your support, we look forward to providing you with quality service.'
      }
    }
  },
  merchant: {
    common: {
      recommended: 'Recommended',
      openingHours: 'Opening Hours',
      averageCost: 'Average Cost',
      address: 'Address',
      priceUnit: 'from',
      personUnit: '/person',
      nightUnit: '/night'
    },
    hotel: {
      star: 'Star',
      perNight: '/night from'
    },
    scenic: {
      levelScenic: 'Level A Scenic Spot',
      ticketPrice: 'Ticket'
    },
    photography: {
      pricePerPerson: '/person from',
      studio: 'Photography Studio'
    },
    study: {
      pricePerPerson: '/person from'
    }
  },
  coupon: {
    title: 'Coupons',
    tabs: ['Available', 'Unused', 'Used', 'Expired'],
    actions: {
      claim: 'Claim',
      pointsExchange: 'Points Exchange',
      useNow: 'Use Now',
      occupied: 'Occupied',
      used: 'Used',
      voided: 'Voided',
      expired: 'Expired'
    },
    labels: {
      platform: 'Platform',
      merchant: 'Merchant',
      condition: 'Min. spend ¥{amount}, some promotional items excluded',
      validity: 'Valid: {start} - {end}',
      claimSuccess: 'Claimed successfully!',
      duplicateClaim: 'Do not claim repeatedly',
      insufficientPoints: 'Insufficient points, need {num} more points to exchange'
    }
  },
  integral: {
    title: 'Points',
    tabs: ['Income', 'Expense', 'Expired'],
    header: {
      points: 'Points: {points}',
      parkingTip: 'Enjoy parking discounts >>',
      groupTip: 'Join official community for more surprises >>'
    },
    types: {
      shopping: 'Shopping Reward',
      signin: 'Sign-in Reward',
      receipt: 'Receipt Points',
      couponExchange: 'Coupon Exchange'
    }
  },
  cardPacks: {
    title: 'Card Packs',
    tabs: ['All', 'Pending Booking', 'Refunded'],
    labels: {
      noData: 'No data',
      quantity: 'Quantity: {count}',
      price: 'Price: ¥{price}',
      total: 'Total: ¥{amount}',
      useCard: 'Use Card',
      incompleteInfo: 'Incomplete card pack information'
    }
  },
  signin: {
    title: 'Sign In',
    header: {
      points: 'Points: {points}',
      happyLife: 'Live happily every day'
    },
    signIn: {
      title: 'Sign In for Points',
      viewRules: 'View Rules',
      success: 'Sign in successful',
      duplicate: 'Do not sign in repeatedly'
    },
    days: {
      day1: 'Day 1',
      day2: 'Day 2',
      day3: 'Day 3',
      day4: 'Day 4',
      day5: 'Day 5',
      day6: 'Day 6',
      day7: 'Day 7',
      signed: 'Signed'
    }
  },
  receiptPoints: {
    title: 'Receipt Points',
    tabs: ['All', 'Under Review', 'Approved', 'Rejected'],
    upload: {
      title: 'Upload Receipt',
      photoTitle: 'Take photo for points',
      photoDesc: 'Within 7 days of consumption, take and upload store receipt for points',
      goUpload: 'Upload',
      aiTag: 'AI'
    },
    rules: {
      title: 'Point rules for consumption',
      tips: [
        'Please keep receipt content clear when taking photos, without shadows, obstructions or alterations. Photos must include complete store name, consumption time, amount and order number.',
        'If receipt is too long, you can fold the item details section.',
        'Only original store receipts are supported. Online payment screenshots, invoices, bank card slips etc. are not accepted as point certificates.',
        'Top-up, group purchase orders, and takeaway platform orders do not apply to this rule.',
        'Only receipts within 7 days (inclusive) are supported. Expired receipts will be rejected.',
        'Each purchase can only earn points once.'
      ]
    },
    status: {
      pending: 'Under Review',
      approved: 'Approved',
      rejected: 'Rejected',
      unknown: 'Unknown Status'
    },
    labels: {
      receiptPoints: 'Receipt Points',
      uploadTime: 'Upload time: {time}',
      auditStatus: 'Audit status: {status}',
      earnedPoints: 'Earned points: {points}',
      remark: 'Remark: {remark}',
      rejectedHint: 'Receipt audit failed, click to re-upload',
      reupload: 'Re-upload'
    },
    uploadPage: {
      title: 'Upload Receipt',
      stepTitle: 'Please upload receipt',
      stepDesc: '(Only merchant printed receipts supported)',
      clickUpload: 'Click to upload receipt',
      reupload: 'Re-upload',
      example: 'Example image',
      tipsTitle: 'Tips',
      confirmUpload: 'Confirm Upload',
      camera: {
        takePhoto: 'Take Photo',
        fromAlbum: 'From Album',
        cancel: 'Cancel',
        error: 'Camera call failed, please check permissions',
        takePhotoFailed: 'Photo taking failed, please try again'
      },
      upload: {
        uploading: 'Uploading...',
        submitting: 'Submitting...',
        success: 'Upload successful',
        failed: 'Upload failed, please try again',
        submitSuccess: 'Submitted successfully',
        submitFailed: 'Submission failed, please try again',
        pleaseUpload: 'Please upload receipt image first',
        uploading2: 'Image uploading, please wait'
      }
    }
  },
  orders: {
    title: 'Orders',
    tabs: ['All', 'Pending Payment', 'Pending Use', 'Pending Delivery', 'Refund'],
    orderNumber: 'Order No.',
    actualPayment: 'Actual Payment: ',
    actualPaymentUnit: '¥',
    actualPaymentPoint: 'Points',
    orderList: {
      loading: 'Loading...',
      pleaseWait: 'Please wait',
      submitting: 'Submitting...',
      cancelSuccess: 'Cancelled successfully',
      receiptSuccess: 'Received successfully',
      applicationSuccess: 'Application successful',
      paymentFailed: 'Payment failed',
      receiptFailed: 'Receipt failed',
      refundFailed: 'Refund failed',
      cancelFailed: 'Cancel failed'
    },
    actions: {
      cancel: 'Cancel Order',
      pay: 'Pay Now',
      viewDetails: 'View Details',
      confirmReceipt: 'Confirm Receipt',
      evaluate: 'Evaluate',
      refund: 'Apply for Refund'
    }
  },
  orderDetail: {
    title: 'Order Details',
    loading: 'Loading order information...',
    sections: {
      productInfo: 'Product Information',
      orderInfo: 'Order Information',
      businessInfo: 'Business Information',
      userInfo: 'User Information',
      logisticsInfo: 'Logistics Information'
    },
    labels: {
      orderNumber: 'Order Number',
      orderTime: 'Order Time',
      bookingTime: 'Booking Time',
      remark: 'Remark',
      contactPhone: 'Contact Phone',
      businessName: 'Business Name',
      businessAddress: 'Business Address',
      name: 'Name',
      phone: 'Phone',
      idCard: 'ID Card',
      logisticsCompany: 'Logistics Company',
      trackingNumber: 'Tracking Number',
      specInfo: 'Spec Information',
      specDate: 'DateOfUse',
      orderTotal: 'Order Total',
      none: 'None',
      unknown: 'Unknown',
      copy: 'Copy',
      call: 'Call'
    },
    actions: {
      cancel: 'Cancel Order',
      pay: 'Pay Now',
      confirmReceipt: 'Confirm Receipt',
      evaluate: 'Evaluate',
      refund: 'Apply for Refund',
      applyInvoice: 'Apply for Invoice',
      processing: 'Processing',
      invoiced: 'Invoiced',
      invoiceFailed: 'Invoice failed, reapply'
    },
    messages: {
      dataLoading: 'Order data loading, please try again later',
      getDetailFailed: 'Failed to get order details',
      getOrderInfoFailed: 'Failed to get order information',
      copySuccess: 'Copied successfully',
      callFailed: 'Call failed',
      cancelSuccess: 'Cancelled successfully',
      cancelFailed: 'Failed to cancel order',
      receiptInDevelopment: 'Receipt confirmation function under development',
      invoiceProcessing: 'Your invoice application is being processed, please wait patiently',
      invoiceCompleted: 'This order has been invoiced, please check your email'
    }
  },
  tabBar: {
    home: 'Home',
    navigation: 'Tourist Map',
    qrcode: 'QR Code',
    orders: 'Orders',
    my: 'My'
  },
  cancelPopup: {
    title: {
      cancel: 'Please select the reason for cancelling the order',
      refund: 'Refund Application'
    },
    logistics: {
      company: 'Logistics Company',
      companyPlaceholder: 'Please enter logistics company',
      trackingNumber: 'Tracking Number',
      trackingPlaceholder: 'Please enter tracking number'
    },
    reasons: [
      'No longer needed',
      'Bought too many',
      'Wrong date/specification/quantity',
      'Other reasons'
    ],
    otherReason: {
      placeholder: 'Please enter other reasons'
    },
    buttons: {
      cancel: 'Don\'t Cancel',
      confirm: 'Confirm Cancel'
    },
    validation: {
      logisticsRequired: 'Please enter logistics company name',
      trackingRequired: 'Please enter tracking number'
    }
  },
  ticket: {
    // Common section
    common: {
      departureTime: 'Departure Time',
      arrivalTime: 'Arrival Time',
      economyClass: 'Economy Class',
      businessClass: 'Business Class',
      firstClass: 'First Class',
      shipName: 'New Haizhu'
    },
    
    // Query page
    query: {
      oneWay: 'One Way',
      roundTrip: 'Round Trip',
      departure: 'Departure',
      destination: 'Destination',
      departureDate: 'Departure Date',
      returnDate: 'Return Date',
      queryBtn: 'Search',
      announcement: 'Announcement',
      noAnnouncement: 'No announcement',
      selectDepartureDestination: 'Please select departure and destination',
      selectDepartureDate: 'Please select departure date',
      selectReturnDate: 'Please select return date'
    },
    
    // List page
    list: {
      portDataLoadFailed: 'Failed to load port data',
      noTicketsAvailable: 'No tickets available for booking',
      prevDay: 'Previous Day',
      nextDay: 'Next Day',
      cannotSelectPastDate: 'Cannot select past dates',
      dateOutOfRange: 'Date out of booking range',
      seatSoldOut: 'Cabin sold out',
      book: 'Book',
      economyClass: 'Economy Class',
      businessClass: 'Business Class',
      firstClass: 'First Class',
      totalTickets: 'Total {count} tickets',
      minutes: 'minutes',
      newHaizhu: 'New Haizhu'
    },
    
    // Round trip page
    roundTrip: {
      title: 'Round Trip Tickets',
      outboundTickets: 'Outbound Tickets',
      returnTickets: 'Return Tickets',
      loadingTickets: 'Loading...',
      noTicketsAvailable: 'No tickets available for booking',
      total: 'Total:',
      confirmSelection: 'Confirm Selection',
      selectBothTickets: 'Please select both outbound and return tickets',
      timeGapWarning: 'Outbound arrival ({arrivalTime}) to return departure ({departureTime}) is only {gap} hours apart, tight schedule, please allow enough transfer time',
      timeGapError: 'Outbound arrival ({arrivalTime}) to return departure ({departureTime}) gap less than {minHours} hours, cannot book',
      cannotBook: 'cannot book',
      outbound: 'Outbound',
      return: 'Return'
    },
    
    // Booking page
    booking: {
      title: 'Ticket Booking',
      singleTrip: 'One-way Ticket Booking',
      roundTrip: 'Round-trip Ticket Booking',
      returnTrip: 'Return',
      passengerInfo: 'Passenger Information',
      passengerCountTip: 'Number of passengers equals number of tickets',
      addPassenger: 'Add Passenger',
      selectPassenger: 'Select Passenger',
      passenger: 'Passenger {index}',
      outbound: 'Outbound',
      inbound: 'Return',
      noPassengerTip: 'Please add passenger information',
      contactInfo: 'Contact Information',
      contactName: 'Name',
      contactPhone: 'Phone',
      contactNamePlaceholder: 'Please enter contact name',
      contactPhonePlaceholder: 'Please enter contact phone',
      remarks: 'Remarks',
      remarksPlaceholder: 'Please enter remarks',
      termsTitle: 'Purchase Notice',
      term1: '1. To avoid exceeding the vessel\'s passenger capacity, adult passengers traveling with children (including infants) must purchase "Children\'s Half Ticket" or "Children\'s Free Ticket (¥0)" simultaneously. If accompanying children (including infants) are not registered for tickets, they will not be allowed to board.',
      term2: '2. Passengers eligible for "Children\'s Free Ticket" or "Children\'s Half Ticket" are not allowed to travel alone and must purchase tickets together with accompanying adults. Each adult or senior citizen can only bring up to 2 registered children with free tickets per trip. Any excess must purchase children\'s half tickets.',
      term3: '3. Zhuhai Resident Ticket: For passengers with Zhuhai household registration whose ID address contains "Zhuhai" or ID code starts with "4404". Zhuhai residents whose ID code does not start with "4404" are temporarily not recognized. After saving, a "Resident" label will appear in the passenger list, and Zhuhai resident discount will apply during payment.',
      term4: '4. When Zhuhai household registration residents purchase children\'s free tickets, children\'s half tickets, or senior tickets, existing discount prices apply without stacking with Zhuhai resident discounts.',
      term5: '5. For government-registered island residents, non-island permanent residents and other passengers eligible for island resident ticket policies, after adding and saving passenger information, an "Islander" label will appear in the passenger list for island resident discounts. If the "Islander" label does not appear after adding island resident information, please contact customer service at 19229620903 (working hours 08:00-17:30).',
      term6: '6. Children over 1.5 meters (exclusive) must carry valid personal identification for on-site verification. For children with ID cards, please provide a photo of the child\'s household registration page as ticket collection proof.',
      term7: '7. Discount Ticket Type Guidelines',
      term7_1: '(1) Children\'s Free Ticket: For minors aged 6 years or under (inclusive), or with height of 1.2 meters or under (inclusive), including infants.',
      term7_2: '(2) Children\'s Half Ticket: For minors over 6 years (exclusive) but not exceeding 14 years (inclusive), or with height over 1.2 meters (exclusive) but not exceeding 1.5 meters (inclusive).',
      term7_3: '(3) Senior Ticket: For seniors aged 60 years (inclusive) and above.',
      agreementText: 'I have read and agree to the above purchase notice',
      total: 'Total',
      details: 'Details',
      submitOrder: 'Submit Order',
      submitting: 'Submitting...',
      passengerTicketDetails: 'Passenger Ticket Details',
      passengerName: 'Name',
      idNumber: 'ID Number',
      outboundTicketType: 'Outbound Ticket Type',
      inboundTicketType: 'Return Ticket Type',
      ticketType: 'Ticket Type',
      submittingToast: 'Order submitting, please wait...',
      noPassengerError: 'Please add passenger information',
      contactInfoError: 'Please fill in contact information',
      termsError: 'Please read and agree to purchase notice',
      incompleteOrderError: 'Order information incomplete, please check',
      createOrderFailed: 'Failed to create order',
      getPriceFailed: 'Failed to get ticket price'
    }
  },
  traffic: {
    list: {
      title: 'Wanshan Islands Ferry Bus',
      selectAreaTip: 'Please select a specific area to view routes',
      noRouteData: 'No route data available',
      loading: 'Loading...',
      oneWayPrice: '{price}',
      schedule1: 'May-October (First/Last bus 09:00-17:00)',
      schedule2: 'November-April (First/Last bus 9:30-17:00)',
      busInterval: 'Bus Interval',
      specialNote: 'Special Note',
      remarks: 'Remarks',
      extraInfo: 'Extra Info',
      carRentalTitle: 'Car Rental Service',
      carRentalDesc: 'Providing island-wide car rental service, customizable itinerary according to your needs.',
      weddingCarTitle: 'Wedding Photography Service',
      weddingCarDesc: 'Professional wedding photography car service, escort your beautiful moments.',
      viewTrafficMap: 'View Traffic Map',
      startStation: 'Start',
      endStation: 'End',
      nextArrival: 'Next bus arrival time',
      bookService: 'Book Service',
      bookTicket: 'Book Ticket',
      loadDataFailed: 'Failed to load route data',
      networkError: 'Network error, please try again',
      loadFailed: 'Loading failed, please try again'
    },
    buyTickets: {
      title: 'Buy Tickets',
      loading: 'Loading...',
      noRouteDataError: 'No route data available, please try again',
      viewTrafficMap: 'View Traffic Map',
      priceSelection: 'Price Selection',
      quantity: 'Quantity',
      total: 'Total',
      submitting: 'Submitting...',
      bookNow: 'Book Now',
      bookingNotice: 'Booking Notice',
      attentionNotice: 'Attention Notice',
      submittingToast: 'Order submitting, please wait',
      selectPriceError: 'Please select a price',
      createOrderFailed: 'Failed to create order',
      networkError: 'Network error, please try again later',
      incompleteOrderError: 'Order information incomplete, please check',
      coupon: {
        title: 'Coupons',
        available: 'Coupons available',
        unavailable: 'No coupons available',
        select: 'Select Coupons',
        selected: '{count} coupon(s) selected, saved ¥{amount}'
      }
    }
  },
  parking: {
    index: {
      title: 'Smart Parking',
      myPoints: 'My Points',
      exchangeParkingCoupon: 'Exchange Parking Coupon',
      query: 'Query',
      reenter: 'Re-enter',
      entryTime: 'Entry Time',
      parkingDuration: 'Parking Duration',
      durationFormat: '{hours} hours {minutes} minutes',
      coupons: 'Coupons',
      discountApplied: 'Discounted ¥{amount}',
      availableCoupons: 'Available Coupons',
      couponCondition: 'Min. spend ¥{min}',
      payableAmount: 'Payable Amount',
      payNow: 'Pay Now',
      querying: 'Querying...',
      paymentRedirecting: 'Redirecting to payment...',
      selectProvince: 'Please select province',
      enterLicensePlate: 'Please enter license plate',
      delete: 'Delete',
      close: 'Close'
    }
  },
  mall: {
    index: {
      title: 'Island Mall'
    },
    integral: {
      title: 'Points Mall',
      points: 'Points',
      favorites: 'Favorites',
      orders: 'Orders',
      hotRecommend: 'Hot Recommendations',
      pointsExchange: 'Points Exchange',
      pointsUnit: 'points',
      canExchange: 'I can exchange',
      onePoint: '1 point'
    }
  },
  cart: {
    title: 'Shopping Cart',
    edit: 'Edit',
    done: 'Done',
    selectAll: 'Select All',
    total: 'Total',
    checkout: 'Checkout',
    delete: 'Delete',
    emptyCart: 'Your cart is empty',
    goShopping: 'Go Shopping',
    selectItemsFirst: 'Please select items first',
    confirmDelete: 'Confirm Delete',
    deleteSelectedItems: 'Are you sure to delete {count} selected item(s)?',
    deleting: 'Deleting...',
    deleteSuccess: 'Deleted successfully',
    deleteFailed: 'Delete failed',
    cartCheckout: {
      title: 'Confirm Order',
      orderInfo: 'Order Information',
      productList: 'Product List',
      deliveryAddress: 'Delivery Address',
      selectAddress: 'Select Address',
      addressRequired: 'Please select delivery address',
      couponSection: 'Coupons',
      orderAmount: 'Order Amount',
      productAmount: 'Product Amount',
      freight: 'Shipping',
      discount: 'Discount',
      totalAmount: 'Total Amount',
      submitOrder: 'Submit Order',
      submitting: 'Submitting order...',
      submitSuccess: 'Order submitted successfully',
      submitFailed: 'Order submission failed'
    }
  },
  contact: {
    addressManagement: 'Address Management',
    contactManagement: 'Contact Management',
    addAddress: 'Add Address',
    addContact: 'Add Contact',
    contactName: 'Contact',
    mobile: 'Mobile',
    idCard: 'ID Card',
    address: 'Address',
    houseNumber: 'House Number',
    setDefault: 'Set as Default',
    save: 'Save',
    delete: 'Delete',
    edit: 'Edit',
    contactNamePlaceholder: 'Recipient Name',
    contactNameContactPlaceholder: 'Contact Name',
    mobilePlaceholder: 'Recipient Mobile Number',
    mobileContactPlaceholder: 'Contact Mobile Number',
    selectAddress: 'Please select delivery address',
    houseNumberPlaceholder: 'Building, Door Number',
    idCardPlaceholder: 'ID Card Number',
    deleteAddressConfirm: 'Do you want to delete this address?',
    deleteContactConfirm: 'Do you want to delete this contact?',
    enterContactName: 'Please enter recipient name',
    enterContactNameContact: 'Please enter contact name',
    enterValidMobile: 'Please enter a valid mobile number',
    selectAddressLocation: 'Please select location',
    enterHouseNumber: 'Please enter house number information',
    enterIdCard: 'Please enter ID card number',
    enterValidIdCard: 'Please enter a valid ID card number',
    addAddressSuccess: 'Address added successfully',
    editAddressSuccess: 'Address modified successfully',
    addContactSuccess: 'Contact added successfully',
    editContactSuccess: 'Contact modified successfully',
    saveFailed: 'Save failed',
    saving: 'Saving',
    contactExists: 'This person already exists',
    noRelatedMessage: 'No related messages found'
  },
  collection: {
    title: 'My Collection',
    merchant: 'Merchant',
    product: 'Product',
    article: 'Article',
    emptyContent: 'No collection content',
    merchantName: 'Merchant Name',
    productName: 'Product Name',
    articleTitle: 'Article Title',
    readCount: 'reads',
    cancelCollectionConfirm: 'Are you sure you want to cancel collection?',
    canceledCollection: 'Collection cancelled',
    operationFailed: 'Operation failed',
    processing: 'Processing',
    incompleteInfo: 'Incomplete information',
    merchantIncomplete: 'Incomplete merchant information',
    productIncomplete: 'Incomplete product information',
    articleIncomplete: 'Incomplete article information'
  },
  complaint: {
    title: 'Complaints & Suggestions',
    disclaimer: 'This complaint is our own complaint channel, not WeChat\'s official complaint channel!',
    name: 'Name',
    gender: 'Gender',
    mobile: 'Mobile Number',
    feedbackType: 'Feedback Type',
    complaintTarget: 'Complaint/Suggestion Target',
    content: 'Content',
    image: 'Image',
    namePlaceholder: 'Please enter user name',
    mobilePlaceholder: 'Please enter contact phone',
    feedbackTypePlaceholder: 'Please select complaint type',
    complaintTargetPlaceholder: 'Please enter the name of the complained party',
    contentPlaceholder: 'Write down what you want to say...',
    required: '*',
    submit: 'Submit',
    genderOptions: {
      male: 'Male',
      female: 'Female',
      secret: 'Private'
    },
    feedbackOptions: {
      complaint: 'Complaint',
      suggestion: 'Suggestion'
    },
    enterValidMobile: 'Please enter a valid mobile number',
    enterComplaintTarget: 'Please enter the complained party',
    selectFeedbackType: 'Please select feedback type',
    enterContent: 'Please enter complaint content',
    submitSuccess: 'Submitted successfully',
    uploadLimit: 'Upload limit reached'
  },
  settlement: {
    title: 'Merchant Application',
    merchantName: 'Merchant Name',
    name: 'Name',
    contactPhone: 'Contact Phone',
    message: 'Message',
    merchantNamePlaceholder: 'Please enter merchant name',
    namePlaceholder: 'Please enter name',
    contactPhonePlaceholder: 'Please enter contact phone',
    messagePlaceholder: 'Please enter message content',
    required: '*',
    submit: 'Submit',
    enterMerchantName: 'Please enter merchant name',
    enterName: 'Please enter name',
    enterContactPhone: 'Please enter contact phone',
    submitSuccess: 'Submitted successfully',
    submitFailed: 'Submission failed, please try again'
  },
  myComplaint: {
    title: 'My Reviews & Complaints',
    comment: 'Comment',
    complaint: 'Complaint',
    suggestion: 'Suggestion',
    rating: 'Rating',
    myComment: 'My Comment',
    complaintContent: 'Complaint Content',
    suggestionContent: 'Suggestion Content',
    replyContent: 'Reply Content',
    complaintDate: 'Complaint Date',
    suggestionDate: 'Suggestion Date',
    statusProcessing: 'Processing',
    statusCompleted: 'Completed',
    loading: 'Loading...'
  },
  help: {
    title: 'Help Center',
    contactCustomerService: 'Contact Customer Service',
    contactCustomerServiceEn: 'Contact customer service',
    complaintsAndSuggestions: 'Complaints & Suggestions',
    complaintsAndSuggestionsEn: 'Complaints and suggestions',
    viewDetails: 'View Details'
  },
  announcement: {
    title: 'Announcement',
    announcementTitle: 'Announcement Title',
    viewDetails: 'View Details',
    loadDataFailed: 'Failed to load data',
    noMoreAnnouncements: 'No more announcements'
  },
  spotIntro: {
    openingHours: 'Opening Hours',
    locationAndTransportation: 'Location & Transportation',
    navigation: 'Navigate',
    transportationMethods: 'Transportation Methods',
    travelGuide: 'Travel Guide',
    viewMore: 'View More',
    comments: 'Comments',
    noLocationInfo: 'Location coordinates not available',
    mapSuccess: 'Successfully opened map'
  },
  articleDetail: {
    views: 'views',
    comments: 'Comments',
    writeComment: 'Write Comment',
    switchToEnglish: 'Switch to English',
    switchToChinese: 'Switch to Chinese',
    collectionCancelled: 'Collection cancelled',
    collectionSuccess: 'Collection successful',
    operationFailed: 'Operation failed, please try again',
    likeError: 'Like operation failed',
    cancelLikeError: 'Cancel like operation failed'
  },
  scenicDetail: {
    title: 'Scenic Spot Details',
    parameterError: 'Parameter error',
    loadFailed: 'Load failed',
    loading: 'Loading...',
    scenicName: 'Scenic Spot Name',
    ticketPrice: 'Ticket Price',
    hotSpot: 'Hot Spot',
    parentChildPlay: 'Family Fun',
    businessHours: 'Business Hours',
    defaultBusinessHours: '13:30-21:00 (Starting from 10:00 on holidays)',
    defaultAddress: 'Located in the southeast of Pearl River Estuary, adjacent to Hong Kong in the east and Macau in the west',
    shareInDevelopment: 'Share function under development',
    boatGuide: 'Boat Guide',
    hotAttractions: 'Hot Attractions',
    mustTryFood: 'Must-try Food',
    islandAccommodation: 'Island Accommodation',
    recommendedProducts: 'Recommended Products',
    noContent: 'No content available',
    recommended: 'Recommended',
    aLevelScenic: 'Level A Scenic Spot',
    score: 'score',
    perPersonFrom: '/person from',
    perNightFrom: '/night from',
    address: 'Address: ',
    businessStatus: 'Open',
    businessTime: 'Business Hours: ',
    noBusinessTime: 'Business hours not set',
    perCapita: 'Per capita: ',
    starLevel: 'star',
    distance: 'km'
  }
} 